home *** CD-ROM | disk | FTP | other *** search
- TimeZone 1.0 (7 septembre 1995)
-
- Abel PHILIPPE
-
- Ce programme en CPX permet de gérer les fuseaux horaires et le décalage entre
- l'heure d'été et l'heure d'hiver. Grâce à lui, Astrolog (ou tout autre
- programme) peut retrouver, à partir de l'horloge de la machine, l'heure
- de référence internationnal, à savoir l'heure GMT.
-
- Installation :
- ------------
- Copiez le fichier TIMEZONE.CPX dans le dossier CPX de votre partition
- de BOOT. Si vous ne l'avez pas encore, copier le fichier XCONTROL.ACC
- à la racine de votre partition de BOOT.
- Si vous utilisez un Atari ST/F ou un Méga ST/F (et seulement ces modèles, et
- non ceux qui sont sortis à partir du STE), copiez le fichier ACOOKIE.PRG
- dans le dossier AUTO de votre partition. Celui-ci se charge de créer un
- 'Cookie Jar' en mémoire et d'installer une routine de reset spéciale.
-
- Utilisation :
- -----------
- En France, nous avons une heure d'avance sur l'heure GMT en hiver, et deux
- en été. TIMEZONE.CPX doit donc être réglé comme ceci :
-
- - cliquez sur le bouton 'Time zone' : un menu s'affiche. Il faut choisir,
- avec les flèches, l'item 'Central European Time -1h '.
-
- - sélectionnez le bouton 'Daylight Time' en été, et déselectionnez-le en
- hiver.
-
- - à droite de ce bouton, entrez '-1h00' dans le champ éditable. Il s'agit
- du décalage entre l'heure d'été et d'hiver.
-
- - Cliquez sur 'Save' pour sauver vos réglages.
-
- Lors du passage de l'heure d'été à l'heure d'hiver ou réciproquement, vous
- n'aurez plus qu'à cliquer sur le bouton 'Daylight Time', et à règler l'horloge
- du système. (Je sais : ça serait bien que TimeZone permette de règler
- l'horloge lors du changement d'heure ! Peut-être dans la version 1.1).
-
- Note aux développeurs :
- ---------------------
- TIMEZONE.CPX ajoute un Cookie dont voici la description :
-
- identificateur : 'ZONE'
-
- valeur : je considère cette valeur comme celle de 2 entiers i et j :
- le mot de poids fort pour i, et faible pour j.
-
- Explication :
- i contient le nombre de minutes qu'il faut soustraire à l'heure du
- système pour retrouver l'heure GMT (l'heure Temps Universel en fait mais
- bon ...)
-
- j contient le nombre de minutes qu'il faut soustraire à l'heure du
- système pour tenir compte de l'heure d'été. Ainsi, en France, j doit
- contenir -60 l'été, et 0 l'hiver.
-
- J'ai écrit ce programme car j'en ai eu besoin pour utiliser la fonction
- time() de Pure C. Celle-ci retourne le nombre de seconde écoulée depuis
- le 1 janvier 1970 à 0h00 GMT. Elle se base pour ses calculs sur
- deux variables globales qui sont timezone et daylight. D'après mes essais
- (et l'aide en ligne de Pure C), timezone doit contenir le nombre de seconde
- à soustraire à l'heure locale pour trouver l'heure GMT, et daylight doit
- contenir 1 si il faut soustraire une heure supplémentaire correspondant à
- l'heure d'été (daylight). Par défaut, timezone contient 3600 et daylight 0
- (réglage pour l'Allemagne ?)
- Ces deux variables agissent sur time() et gmtime() mais pas sur localtime()
- (C'est assez logique).
-
- Voici donc comment utiliser la valeur du cookie :
-
- timezone=-i*60;
- daylight=-j/60;
-
- J'espère que cela marchera dans tous les cas. Cependant, il semble que dans
- certain pays, le décalage été/hiver puisse être différent d'une heure.
- Je ne sais pas comment réagirait le système, puisque daylight ne peut
- recevoir que des entiers. De toute façon, il doit être possible de s'en
- sortir en donnant une valeur adéquate à timezone.
-
- Diffusion :
- ---------
- TimeZone 1.0 est un logiciel freeware. Vous pouvez le diffusez librement
- autour de vous.
-
- Remerciements :
- -------------
- Je salue au passage Jacques Caron de ST Magasine, dont j'ai utilisé
- les routines de gestion des cookies (numéro 52), ainsi que Pascal Craponne,
- du même ST Magazine, pour l'initiation à la programmation des CPX parue dans
- les numéros 54,55 et 57.
-
- Pour me contacter :
- -----------------
-
- abel@mathp7.jussieu.fr
-
- ou BIBOUL en 3615 STMAG et 3615 RTEL
-
- ou Abel PHILIPPE
- 16 rue St Ferdinand
- 75017 PARIS
-